/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package exia.java.core.services;

import java.util.List;

import exia.java.core.entities.Utilisateur;

/**
 *
 * @author Jeannette Sebastien
 */
public interface IServiceUtilisateur{
	/**
	 * 
	 * @param utilisateur
	 * @return
	 * @throws ServiceUtilisateurException
	 */
    public boolean addUtilisateur(final Utilisateur utilisateur)throws ServiceUtilisateurException;
    /**
     * 
     * @param utilisateur
     * @return
     * @throws ServiceUtilisateurException
     */
    public boolean removeUtilisateur(final Utilisateur utilisateur)throws ServiceUtilisateurException;
    /**
     * 
     * @param utilisateur
     * @return
     * @throws ServiceUtilisateurException
     */
    public boolean updateUtilisateur(final Utilisateur utilisateur)throws ServiceUtilisateurException;
    /**
     * 
     * @return
     * @throws ServiceUtilisateurException
     */
    public List<Utilisateur> getUtilisateurs()throws ServiceUtilisateurException;
    /**
     * 
     * @param id
     * @return
     * @throws ServiceUtilisateurException
     */
    public Utilisateur getUtilisateurById(final int id)throws ServiceUtilisateurException;
    /**
     * 
     * @param type
     * @return
     * @throws ServiceUtilisateurException
     */
    public List<Utilisateur> getUtilisateursByType(final String type)throws ServiceUtilisateurException;
    /**
     * 
     * @return
     * @throws ServiceUtilisateurException
     */
    public int countUtilisateurs()throws ServiceUtilisateurException;
    /**
     * 
     * @return
     * @throws ServiceUtilisateurException
     */
    public boolean hasUtilisateurs()throws ServiceUtilisateurException;
    /**
     * 
     * @param utilisateur
     * @return
     * @throws ServiceUtilisateurException
     */
    public boolean hasUtilisateur(final Utilisateur utilisateur)throws ServiceUtilisateurException;
}
